#ifndef PATHFINDER_H
#define PATHFINDER_H

#include <map>
#include <vector>

class GameState;

class Pathfinder{
    public:
		std::vector<int> GetPath(int start, int finish, bool overrideOccupiedFinish = false);

    protected:
		std::vector<int> open;
		std::vector<int> closed;
		std::vector<int> path;

		int FindLowestF();
		bool IsInOpenList(int id);
		bool IsInClosedList(int id);
		void CalculateFGH(int current, int next, int finish);

};
extern Pathfinder pathfinder;
#endif
